Wireless devices and systems including examples of full duplex transmission

ABSTRACT

Examples described herein include systems and methods which include wireless devices and systems with examples of full duplex compensation with a self-interference noise calculator. The self-interference noise calculator may be coupled to antennas of a wireless device and configured to generate adjusted signals that compensate self-interference. The self-interference noise calculator may include a network of processing elements configured to combine transmission signals into sets of intermediate results. Each set of intermediate results may be summed in the self-interference noise calculator to generate a corresponding adjusted signal. The adjusted signal is received by a corresponding wireless receiver to compensate for the self-interference noise generated by a wireless transmitter transmitting on the same frequency band as the wireless receiver is receiving.

CROSS REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of pending U.S. patent applicationSer. No. 15/447,731 filed Mar. 2, 2017. The aforementioned applicationis incorporated herein by reference, in its entirety, for any purpose.

BACKGROUND

There is interest in moving wireless communications to “fifthgeneration” (5G) systems. 5G promises increased speed and ubiquity, butmethodologies for processing 5G wireless communications have not yetbeen set. Example 5G systems may be implemented using multiple-inputmultiple-output (MIMO) techniques, including “massive MIMO” techniques,in which multiple antennas (more than a certain number, such as 8 in thecase of example MIMO systems) are utilized for transmission and/orreceipt of wireless communication signals.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a system arranged in accordancewith examples described herein.

FIG. 2 is a schematic illustration of an electronic device arranged inaccordance with examples described herein.

FIG. 3 is a schematic illustration of a wireless transmitter.

FIG. 4 is a schematic illustration of wireless receiver.

FIG. 5 is a schematic illustration of an example self-interference noisecalculator arranged in accordance with examples described herein.

FIG. 6 is a schematic illustration of an electronic device arranged inaccordance with examples described herein

FIG. 7 is a schematic illustration of a full duplex compensation methodin accordance with examples described herein.

DETAILED DESCRIPTION

Certain details are set forth below to provide a sufficientunderstanding of embodiments of the present disclosure. However, it willbe clear to one skilled in the art that embodiments of the presentdisclosure may be practiced without various of these particular details.In some instances, well-known wireless communication components,circuits, control signals, timing protocols, computing systemcomponents, telecommunication components, and software operations havenot been shown in detail in order to avoid unnecessarily obscuring thedescribed embodiments of the present disclosure.

Full duplex communication may be desirable for a variety of devices.Full duplex communication generally may refer to an ability to both sendand receive transmissions, in some cases simultaneously and/or partiallysimultaneously. In examples of systems employing full duplexcommunication, it may be desirable to cancel interference generated byother antennas in the system. Examples described herein may compensatefor interference generated by other antennas co-located on the samephysical device or system (e.g., interference created by an antenna on aMIMO device). In the example of frequency duplexing (FD), an antennatransmitting a transmission on a certain frequency band may createinterference for an antenna, co-located on the same device, receiving atransmission on the same frequency band. Such interference may bereferred to as self-interference. Self-interference may disrupt theaccuracy of signals transmitted or received by the MIMO device. Examplesdescribed herein may compensate for self-interference at an electronicdevice, which may aid in achieving full complex transmission. A networkof processing elements may be used to generate adjusted signals tocompensate for self-interference generated by the antennas of theelectronic device.

5G systems may advantageously make improved usage of full duplextransmission mode, for example, to improve spectrum efficiency.Frequency bands in some systems may be assigned by regulatoryauthorities such as the Federal Communication Commission (FCC).Assignments may be made, for example, according to differentapplications such as digital broadcasting and wireless communication.These licensed and assigned frequencies may be wasted if there is simplytime-division duplex (TDD), frequency-division duplex (FDD) orhalf-duplex FDD mode, which are duplexing modes often used in existingwireless applications. Such modes may not be acceptable when improvedefficiency is demanded from the wireless spectrum. Moreover, with thefast development of digital transmission and communications, there arefewer and fewer unlicensed frequency bands and it may be advantageous touse those licensed frequency bands in a full duplex transmission mode.For example, the FCC has officially proposed to open some UHF bands forunlicensed uses and is also considering how to use the frequency bandswhich are over 6 GHz (e.g. millimeter wave bands). Examples describedherein may be utilized to achieve full duplex transmission in someexamples on existing frequency bands including the aforementionedunlicensed frequency bands and 6 GHz bands. Full-duplex (FD)transmission may allow a wireless communication system to transmit andreceive the signals, simultaneously, in the same frequency band. Thismay allow FD 5G systems to the spectrum efficiency of any frequencyband.

Examples described herein include systems and methods which includewireless devices and systems with a self-interference noise calculator.The self-interference noise calculator may utilize a network ofprocessing elements to generate a corresponding adjusted signal forself-interference that an antenna of the wireless device or system isexpected to experience due to signals to be transmitted by anotherantenna of the wireless device or system. Such a network of processingelements may combine transmission signals to provide intermediateprocessing results that are summed, based on respective weights, togenerate adjusted signals. A respective weight vector applied to theintermediate processing result may be based on an amount of interferenceexpected for the respective transmission signal from the correspondingintermediate processing result. In some examples, a self-interferencenoise calculator may include bit manipulation units, multiplicationprocessing units, and/or accumulation processing units. For example, themultiplication processing units may weight the intermediate processingresults based on a minimized error for the all or some of the adjustmentsignals that may generated by a self-interference noise calculator. Inminimizing the error for the adjustment signals, a wireless device orsystem may achieve full duplex transmission utilizing theself-interference noise calculator.

FIG. 1 is a schematic illustration of a system arranged in accordancewith examples described herein. System 100 includes electronic device102, electronic device 110, antenna 101, antenna 103, antenna 105,antenna 107, antenna 121, antenna 123, antenna 125, antenna 127,wireless transmitter 131, wireless transmitter 133, wireless receiver135 and, wireless receiver 137. The electronic device 102 may includeantenna 121, antenna 123, antenna 125, antenna 127, wireless transmitter111, wireless transmitter 113, wireless receiver 115, and wirelessreceiver 117. The electronic device 110 may include antenna 101, antenna103, antenna 105, and antenna 107. In operation, electronic devices 102,110 can operate in a full duplex transmission mode between therespective antennas of each electronic device. In an example of a fullduplex transmission mode, wireless transmitter 131 coupled to antenna121 may transmit to antenna 105 coupled to wireless receiver 115, while,at the same time or during at least a portion of the same time, wirelesstransmitter 111 coupled to antenna 101 may transmit to antenna 127coupled to wireless receiver 137, in some examples at a same frequencyor in a same frequency band. Self-interference received by antenna 127or antenna 105 from the respective transmissions at antenna 121 andantenna 101 may be compensated by the systems and methods describedherein. Self-interference may generally refer to any wirelessinterference generated by transmissions from antennas of an electronicdevice to signals received by other antennas, or same antennas, on thatsame electronic device.

Electronic devices described herein, such as electronic device 102 andelectronic device 110 shown in FIG. 1 may be implemented using generallyany electronic device for which communication capability is desired. Forexample, electronic device 102 and/or electronic device 110 may beimplemented using a mobile phone, smartwatch, computer (e.g. server,laptop, tablet, desktop), or radio. In some examples, the electronicdevice 102 and/or electronic device 110 may be incorporated into and/orin communication with other apparatuses for which communicationcapability is desired, such as but not limited to, a wearable device, amedical device, an automobile, airplane, helicopter, appliance, tag,camera, or other device.

While not explicitly shown in FIG. 1, electronic device 102 and/orelectronic device 110 may include any of a variety of components in someexamples, including, but not limited to, memory, input/output devices,circuitry, processing units (e.g. processing elements and/orprocessors), or combinations thereof.

The electronic device 102 and the electronic device 110 may each includemultiple antennas. For example, the electronic device 102 and electronicdevice 110 may each have more than two antennas. Three antennas each areshown in FIG. 1, but generally any number of antennas may be usedincluding 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 32, or 64antennas. Other numbers of antennas may be used in other examples. Insome examples, the electronic device 102 and electronic device 110 mayhave a same number of antennas, as shown in FIG. 1. In other examples,the electronic device 102 and electronic device 104 may have differentnumbers of antennas. Generally, systems described herein may includemultiple-input, multiple-output (“MIMO”) systems. MIMO systems generallyrefer to systems including one or more electronic devices which transmittransmissions using multiple antennas and one or more electronic deviceswhich receive transmissions using multiple antennas. In some examples,electronic devices may both transmit and receive transmissions usingmultiple antennas. Some example systems described herein may be “massiveMIMO” systems. Generally, massive MIMO systems refer to systemsemploying greater than a certain number (e.g. 8) antennas to transmitand/or receive transmissions. As the number of antennas increase, so togenerally does the complexity involved in accurately transmitting and/orreceiving transmissions.

Although two electronic devices (e.g. electronic device 102 andelectronic device 110) are shown in FIG. 1, generally the system 100 mayinclude any number of electronic devices.

Electronic devices described herein may include receivers, transmitters,and/or transceivers. For example, the electronic device 102 of FIG. 1includes wireless transmitter 131 and wireless receiver 135, and theelectronic device 110 includes wireless transmitter 111 and wirelessreceiver 115. Generally, receivers may be provided for receivingtransmissions from one or more connected antennas, transmitters may beprovided for transmitting transmissions from one or more connectedantennas, and transceivers may be provided for receiving andtransmitting transmissions from one or more connected antennas. Whileboth electronic devices 102, 110 are depicted in FIG. 1 with individualwireless transmitter and individual wireless receivers, it can beappreciated that a wireless transceiver may be coupled to antennas ofthe electronic device and operate as either a wireless transmitter orwireless receiver, to receive and transmit transmissions. For example, atransceiver of electronic device 102 may be used to providetransmissions to and/or receive transmissions from antenna 121, whileother transceivers of electronic device 110 may be provided to providetransmissions to and/or receive transmissions from antenna 101 andantenna 103. Generally, multiple receivers, transmitters, and/ortransceivers may be provided in an electronic device—one incommunication with each of the antennas of the electronic device. Thetransmissions may be in accordance with any of a variety of protocols,including, but not limited to 5G signals, and/or a variety ofmodulation/demodulation schemes may be used, including, but not limitedto: orthogonal frequency division multiplexing (OFDM), filter bankmulti-carrier (FBMC), the generalized frequency division multiplexing(GFDM), universal filtered multi-carrier (UFMC) transmission, biorthogonal frequency division multiplexing (BFDM), sparse code multipleaccess (SCMA), non-orthogonal multiple access (NOMA), multi-user sharedaccess (MUSA) and faster-than-Nyquist (FTN) signaling withtime-frequency packing. In some examples, the transmissions may be sent,received, or both, in accordance with 5G protocols and/or standards.

Examples of transmitters, receivers, and/or transceivers describedherein, such as the wireless transmitter 131 and the wirelesstransmitter 111 may be implemented using a variety of components,including, hardware, software, firmware, or combinations thereof. Forexample, transceivers, transmitters, or receivers may include circuitryand/or one or more processing units (e.g. processors) and memory encodedwith executable instructions for causing the transceiver to perform oneor more functions described herein (e.g. software).

FIG. 2 is a schematic illustration 200 of an electronic device 110arranged in accordance with examples described herein. The electronicdevice 110 may also include self-interference noise calculator 240,compensation component 245, and compensation component 247.Self-interference noise calculator 240 and wireless transmitter 111, 113may be in communication with one another. Each wireless transmitter 111,113 may be in communication with a respective antenna, such as antenna101, antenna 103. Each wireless transmitter 111, 113 receives arespective signal to be transmitted, such as signals to be transmitted211, 213. The wireless receivers 115, 117 may process the signals to betransmitted 211, 213 with the operations of a radio-frequency (RF)front-end to generate transmitter output data x₁(n), x₂(n) 221, 223. Thewireless transmitter 111, 113 may process the signals to be transmitted211, 213 as a wireless transmitter 300, for example.

Self-interference noise calculator 240 and compensation components 245,247 may be in communication with one another. Each wireless receiver maybe in communication with a respective antenna, such as antenna 105, 107and a respective compensation component, such as compensation component245, 247. In some examples, a wireless transmission received at antennas105, 107 may be communicated to wireless receiver 115, 117 aftercompensation of self-interference by the respective compensationcomponent 245, 247. Each wireless receiver 115, 117 processes thereceived and compensated wireless transmission to produce a respectiveprocessed received signal, such as processed received signals 255, 257.In other examples, fewer, additional, and/or different components may beprovided.

Examples of self-interference noise calculators described herein maygenerate and provide adjusted signals to compensation components. So,for example, the self-interference noise calculator 240 may generateadjusted signals y₁(n), y₂(n) 241, 243 and provide such adjusted signalsto the compensation components 245, 247. The self-interference noisecalculator 240 may generate such adjusted signals y₁(n), y₂(n) 241, 243based on transmitter output data x₁(n), x₂(n) 221, 223. Theself-interference noise calculator 240 may be in communication withmultiple (e.g. all) of the wireless transmitters of the electronicdevice 110 and all the respective compensation components coupled torespective wireless receivers, and may provide adjusted signals based ontransmitter output data.

It may be desirable in some examples to compensate for theself-interference noise to achieve full duplex transmission. Forexample, it may be desirable for wireless transmitters 111,113 of theelectronic device 110 to transmit wireless transmission signals at acertain frequency band; and, at the same time or simultaneously,wireless receivers 105, 107 receive wireless transmission signals onthat same frequency band. The self-interference noise calculator 240 maydetermine the self-interference contributed from each wirelesstransmission based on the transmitter output data to compensate eachreceived wireless transmission with an adjusted signal y₁(n), y₂(n) 241,243. Particularly as wireless communications move toward 5G standards,efficient use of wireless spectra may become increasingly important.

Examples of self-interference noise calculators described herein mayprovide the adjusted signals y₁(n), y₂(n) 241, 243 to receiver(s) and/ortransceiver(s). Compensation components 245, 247 may receive theadjusted signals y₁(n), y₂(n) 241, 243 and compensate an incomingreceived wireless transmission from antennas 105, 107. For example, thecompensation components 245, 247 may combine the adjusted signals withthe incoming received wireless transmission in a manner whichcompensates for (e.g. reduces) self-interference. In some examples, thecompensation components 245, 247 may subtract the adjusted signalsy₁(n), y₂(n) 241, 243 from the received wireless transmission to producecompensated received signals for the respective wireless receivers 115,117. The compensation components 245, 247 may communicate thecompensated received signals to the wireless receivers 115, 117. Thewireless receivers 115, 117 may process the compensated received signalwith the operations of a radio-frequency (RF) front-end. The wirelessreceiver may process the compensated received signals as a wirelessreceiver 400, for example. While the compensation components 245, 247have been described in terms of subtracting an adjusting signal from areceived wireless transmission, it can be appreciated that variouscompensations may be possible, such as adjusted signal that operates asa transfer function compensating the received wireless transmission oran adjusted signal that operates as an optimization vector to multiplythe received wireless transmission. Responsive to such compensation,electronic device 110 may transmit and receive wireless communicationssignals in a full duplex transmission mode.

Examples of self-interference noise calculators described herein,including the self-interference noise calculator 240 of FIG. 2 may beimplemented using hardware, software, firmware, or combinations thereof.For example, self-interference noise calculator 240 may be implementedusing circuitry and/or one or more processing unit(s) (e.g. processors)and memory encoded with executable instructions for causing theself-interference noise calculator to perform one or more functionsdescribed herein.

FIG. 3 is a schematic illustration of a wireless transmitter 300. Thewireless transmitter 300 receives a signal to be transmitted 311 andperforms operations of an RF-front end to generate wirelesscommunication signals for transmission via the antenna 303. The wirelesstransmitter 300 may be utilized to implement the wireless transmitters111, 113 in FIGS. 1, 2, and 6 or wireless transmitters 131, 133 of FIG.1, for example. The transmitter output data x_(N)(n) 310 is amplified bya power amplifier 332 before the output data are transmitted on an RFantenna 336. The operations of the RF-front end may generally beperformed with analog circuitry or processed as a digital basebandoperation for implementation of a digital front-end. The operations ofthe RF-front end include a scrambler 304, a coder 308, an interleaver312, a modulation mapping 316, a frame adaptation 320, an IFFT 324, aguard interval 328, and frequency up-conversion 330.

The scrambler 304 converts the input data to a pseudo-random or randombinary sequence. For example, the input data may be a transport layersource (such as MPEG-2 Transport stream and other data) that isconverted to a Pseudo Random Binary Sequence (PRBS) with a generatorpolynomial. While described in the example of a generator polynomial,various scramblers 304 are possible. The coder 308 may encode the dataoutputted from the scrambler to code the data. For example, aReed-Solomon (RS) encoder or turbo encoder may be used as outer coder togenerate a parity block for each randomized transport packet fed by thescrambler 304. In some examples, the length of parity block and thetransport packet can vary according to various wireless protocols. Theinterleaver 312 may interleave the parity blocks output by the coder308, for example, the interleaver 312 may utilize convolutional byteinterleaving. In some examples, additional coding and interleaving canbe performed after the coder 308 and interleaver 312. For example,additional coding may include an inner coder that may further code dataoutput from the interleaver, for example, with a punctured convolutionalcoding having a certain constraint length. Additional interleaving mayinclude an inner interleaver that forms groups of joined blocks. Whiledescribed in the context of a RS coding, turbocoding, and puncturedconvolution coding, various coders 308 are possible, such as alow-density parity-check (LDPC) coder or a polar coder. While describedin the context of convolutional byte interleaving, various interleavers312 are possible.

The modulation mapping 316 modulates the data outputted from theinterleaver 312. For example, quadrature amplitude modulation (QAM) canmap the data by changing (e.g., modulating) the amplitude of the relatedcarriers. Various modulation mappings can be possible, including, butnot limited to: Quadrature Phase Shift Keying (QPSK), SCMA NOMA, andMUSA (Multi-user Shared Access). Output from the modulation mapping 316may be referred to as data symbols. While described in the context ofQAM modulation, various modulation mappings 316 are possible. The frameadaptation 320 may arrange the output from the modulation mappingaccording to bit sequences that represent corresponding modulationsymbols, carriers, and frames.

The IFFT 324 may transform symbols that have been framed intosub-carriers (e.g., by frame adaptation 320) into time-domain symbols.Taking an example of a 5G wireless protocol scheme, the IFFT can beapplied as N-point IFFT:

$\begin{matrix}{x_{k} = {\sum\limits_{n = 1}^{N}\; {X_{n}e^{i\; 2\pi \; {kn}\text{/}N}}}} & (1)\end{matrix}$

where X_(n) is the modulated symbol sent in the nth 5G sub-carrier.Accordingly, the output of the IFFT 324 may form time-domain 5G symbols.In some examples, the IFFT 324 may be replaced by a pulse shaping filteror poly-phase filtering banks to output symbols for frequencyup-conversion 330. The guard interval 328 adds a guard interval to thetime-domain 5G symbols. For example, the guard interval may be afractional length of a symbol duration that is added, to reduceinter-symbol interference, by repeating a portion of the end of atime-domain 5G symbol at the beginning of the frame. For example, theguard interval can be a time period corresponding to the cyclic prefixportion of the 5G wireless protocol scheme. The frequency up-conversion330 may up-convert the time-domain 5G symbols to a specific radiofrequency. For example, the time-domain 5G symbols can be viewed as abaseband frequency range and a local oscillator can mix the frequency atwhich it oscillates with the 5G symbols to generate 5G symbols at theoscillation frequency. A digital up-converter (DUC) may also be utilizedto convert the time-domain 5G symbols. Accordingly, the 5G symbols canbe up-converted to a specific radio frequency for an RF transmission.Before transmission, at the antenna 303, a power amplifier 332 mayamplify the transmitter output data x_(N)(n) 310 to output data for anRF transmission in an RF domain at the antenna 336. The antenna 336 maybe an antenna designed to radiate at a specific radio frequency. Forexample, the antenna 336 may radiate at the frequency at which the 5Gsymbols were up-converted. Accordingly, the wireless transmitter 300 maytransmit an RF transmission via the antenna 336 based on the signal tobe transmitted 311 received at the scrambler 304. As described abovewith respect to FIG. 3, the operations of the wireless transmitter 300can include a variety of processing operations. Such operations can beimplemented in a conventional wireless transmitter, with each operationimplemented by specifically-designed hardware for that respectiveoperation. For example, a DSP processing unit may bespecifically-designed to implement the IFFT 324. As can be appreciated,additional operations of wireless transmitter 300 may be included in aconventional wireless receiver.

FIG. 4 is a schematic illustration of wireless receiver 400. Thewireless receiver 400 receives input data X (i,j) 410 from an antenna405 and performs operations of a RF wireless receiver to generatereceiver output data at the descrambler 444. The wireless receiver 400may be utilized to implement the wireless receivers 115, 117 in FIGS. 1,2, and 6, for example or wireless receivers 135, 137 of FIG. 1. Theantenna 404 may be an antenna designed to receive at a specific radiofrequency. The operations of the RF wireless receiver may be performedwith analog circuitry or processed as a digital baseband operation forimplementation of a digital front-end. The operations of the RF wirelessreceiver include a frequency down-conversion 412, guard interval removal416, a fast Fourier transform 420, synchronization 424, channelestimation 428, a demodulation mapping 432, a deinterleaver 436, adecoder 440, and a descrambler 444.

The frequency down-conversion 412 may down-convert the frequency domainsymbols to a baseband processing range. For example, continuing in theexample of a 5G implementation, the frequency-domain 5G symbols may bemixed with a local oscillator frequency to generate 5G symbols at abaseband frequency range. A digital down-converter (DDC) may also beutilized to convert the frequency domain symbols. Accordingly, the RFtransmission including time-domain 5G symbols may be down-converted tobaseband. The guard interval removal 416 may remove a guard intervalfrom the frequency-domain 5G symbols. The FFT 420 may transform thetime-domain 5G symbols into frequency-domain 5G symbols. Taking anexample of a 5G wireless protocol scheme, the FFT can be applied asN-point FFT:

$\begin{matrix}{X_{n} = {\sum\limits_{k = 1}^{N}\; {x_{k}e^{{- i}\; 2\pi \; {kn}\text{/}N}}}} & (2)\end{matrix}$

where X_(n) is the modulated symbol sent in the nth 5G sub-carrier.Accordingly, the output of the FFT 420 may form frequency-domain 5Gsymbols. In some examples, the FFT 420 may be replaced by poly-phasefiltering banks to output symbols for synchronization 424.

The synchronization 424 may detect pilot symbols in the 5G symbols tosynchronize the transmitted data. In some examples of a 5Gimplementation, pilot symbols may be detected at the beginning of aframe (e.g., in a header) in the time-domain. Such symbols can be usedby the wireless receiver 400 for frame synchronization. With the framessynchronized, the 5G symbols proceed to channel estimation 428. Thechannel estimation 428 may also use the time-domain pilot symbols andadditional frequency-domain pilot symbols to estimate the time orfrequency effects (e.g., path loss) to the received signal. For example,a channel may be estimated based on N signals received through Nantennas (in addition to the antenna 404) in a preamble period of eachsignal. In some examples, the channel estimation 428 may also use theguard interval that was removed at the guard interval removal 416. Withthe channel estimate processing, the channel estimation 428 maycompensate for the frequency-domain 5G symbols by some factor tominimize the effects of the estimated channel. While channel estimationhas been described in terms of time-domain pilot symbols andfrequency-domain pilot symbols, other channel estimation techniques orsystems are possible, such as a MIMO-based channel estimation system ora frequency-domain equalization system. The demodulation mapping 432 maydemodulate the data outputted from the channel estimation 428. Forexample, a quadrature amplitude modulation (QAM) demodulator can map thedata by changing (e.g., modulating) the amplitude of the relatedcarriers. Any modulation mapping described herein can have acorresponding demodulation mapping as performed by demodulation mapping432. In some examples, the demodulation mapping 432 may detect the phaseof the carrier signal to facilitate the demodulation of the 5G symbols.The demodulation mapping 432 may generate bit data from the 5G symbolsto be further processed by the deinterleaver 436.

The deinterleaver 436 may deinterleave the data bits, arranged as parityblock from demodulation mapping into a bit stream for the decoder 440,for example, the deinterleaver 436 may perform an inverse operation toconvolutional byte interleaving. The deinterleaver 436 may also use thechannel estimation to compensate for channel effects to the parityblocks. The decoder 440 may decode the data outputted from the scramblerto code the data. For example, a Reed-Solomon (RS) decoder or turbodecoder may be used as a decoder to generate a decoded bit stream forthe descrambler 444. For example, a turbo decoder may implement aparallel concatenated decoding scheme. In some examples, additionaldecoding deinterleaving may be performed after the decoder 440 anddeinterleaver 436. For example, additional coding may include an outercoder that may further decode data output from the decoder 440. Whiledescribed in the context of a RS decoding and turbo decoding, variousdecoders 440 are possible, such as low-density parity-check (LDPC)decoder or a polar decoder. The descrambler 444 may convert the outputdata from decoder 440 from a pseudo-random or random binary sequence tooriginal source data. For example, the descrambler 444 may convertdecoded data to a transport layer destination (e.g., MPEG-2 transportstream) that is descrambled with an inverse to the generator polynomialof the scrambler 304. The descrambler thus outputs receiver output data.Accordingly, the wireless receiver 400 receives an RF transmissionincluding input data X (i,j) 410 via to generate the receiver outputdata.

As described above with respect to FIG. 4, the operations of thewireless receiver 400 can include a variety of processing operations.Such operations can be implemented in a conventional wireless receiver,with each operation implemented by specifically-designed hardware forthat respective operation. For example, a DSP processing unit may bespecifically-designed to implement the FFT 420. As can be appreciated,additional operations of wireless receiver 400 may be included in aconventional wireless receiver.

FIG. 5 is a schematic illustration of an example self-interference noisecalculator 500 arranged in accordance with examples described herein.The self-interference noise calculator 500 may be utilized to implementthe self-interference noise calculator of FIG. 2 or theself-interference noise calculator 640 of FIG. 6, for example. Theself-interference noise calculator 500 includes a network of processingelements 515, 525, 535 that output adjusted signals y₁(n), y₂(n), y₃(n),y_(L)(n) 530 based on transmitter output data x₁(n), x₂(n), x₃(n),x_(N)(n) 510. For example, the transmitter output data x₁(n), x₂(n),x₃(n), x_(N)(n) 510 may correspond to inputs for respective antennas ofeach transmitter generating the respective x₁(n), x₂(n), x₃(n), x_(N)(n)510. The processing elements 515 receive the transmitter output datax₁(n), x₂(n), x₃(n), x_(N)(n) 510 as inputs. The processing elements 515may be implemented, for example, using bit manipulation units that mayforward the transmitter output data x₁(n), x₂(n), x₃(n), x_(N)(n) 510 toprocessing elements 525. Processing elements 525 may be implemented, forexample, using multiplication units that include a non-linear vector set(e.g., center vectors) based on a non-linear function, such as aGaussian function

$\left( {{e.g.},\mspace{14mu} {{\text{:}\mspace{14mu} {f(r)}} = {\exp \left( {- \frac{r^{2}}{\sigma^{2}}} \right)}},} \right.$

a multi-quadratic function (e.g., f(r)=(r²+σ²)), an inversemulti-quadratic function (e.g., f(r)=(r²+σ²)), a thin-plate spinefunction (e.g., f(r)=r² log(r)), a piece-wise linear function (e.g.,f(r)=½(|r+1|−|r−1|), or a cubic approximation function (e.g.,f(r)=½(|r³+1|−|r³−1|)). In some examples, the parameter σ is a realparameter (e.g., a scaling parameter) and r is the distance between theinput signal (e.g., x₁(n), x₂(n), x₃(n), x_(N)(n) 510) and a vector ofthe non-linear vector set. Processing elements 535 may be implemented,for example, using accumulation units that sum the intermediateprocessing results received from each of the processing elements 525. Incommunicating the intermediate processing results, each intermediateprocessing result may be weighted with a weight ‘W’. For example, themultiplication processing units may weight the intermediate processingresults based on a minimized error for the all or some of the adjustmentsignals that may generated by a self-interference noise calculator.

The processing elements 525 include a non-linear vector set that may bedenoted as C_(i)(for i=1, 2, . . . , H). H may represent the number ofprocessing elements 525. With the transmitter output data x₁(n), x₂(n),x₃(n), x_(N)(n) 510 received as inputs to processing elements 525, afterforwarding by processing elements 515, the output of the processingelements 525, operating as multiplication processing units, may beexpressed as h_(i)(n), such that:

h _(i)(n)=f _(i)(∥X(n)−C _(i)∥)(i=1,2, . . . ,H)  (3)

f_(i) may represent a non-linear function that is applied to themagnitude of the difference between x₁(n), x₂(n), x₃(n), x_(N)(n) 510and the center vectors C_(i). The output h_(i)(n) may represent anon-linear function such as a Gaussian function, multi-quadraticfunction, an inverse multi-quadratic function, a thin-plate spinefunction, or a cubic approximation function.

The output h_(i)(n) of the processing elements 525 may be weighted witha weight matrix ‘W’. The output h_(i)(n) of the processing elements 525can be referred to as intermediate processing results of theself-interference noise calculator 500. For example, the connectionbetween the processing elements 525 and processing elements 535 may be alinear function such that the summation of a weighted output h_(i)(n)such that the adjusted signals y₁(n), y₂(n), y₃(n), y_(L)(n) 530 may beexpressed, in Equation 4 as:

y _(i)(n)=Σ_(j=1) ^(H) W _(ij) h _(j)(n)=Σ_(j=1) ^(H) W _(ij) f_(j)(∥X(n)−C _(j)∥)(i=1,2, . . . ,L)  (4)

Accordingly, the adjusted signals y₁(n), y₂(n), y₃(n), y_(L)(n) 530 maybe the output y_(i)(n) of the i′th processing element 535 at time n,where L is the number of processing elements 535. W_(ij) is theconnection weight between j′th processing element 525 and i′thprocessing element 535 in the output layer. As described with respect toFIG. 6, the center vectors C_(i) and the connection weights W_(ij) ofeach layer of processing elements may be determined by a training unit650 that utilizes sample vectors 660 to train a self-interferencecalculator 640. Advantageously, the adjusted signals y₁(n), y₂(n),y₃(n), y_(L)(n) 530 generated from the transmitter output data x₁(n),x₂(n), x₃(n), x_(N)(n) 510 may be computed with near-zero latency suchthat self-interference compensation may be achieved in any electronicdevice including a self-interference noise calculator, such as theself-interference noise calculator 500. A wireless device or system thatimplements a self-interference noise calculator 500 may achieve fullduplex transmission. For example, the adjusted signals generated by theinterference noise calculator 500 may compensate-interference that anantenna of the wireless device or system will experience due to signalsto be transmitted by another antenna of the wireless device or system.

While the self-interference noise calculator 500 has been described withrespect to a single layer of processing elements 525 that includemultiplication units, it can be appreciated that additional layers ofprocessing elements with multiplication units may be added between theprocessing elements 515 and the processing elements 535. Theself-interference noise calculator is scalable in hardware form, withadditional multiplication units being added to accommodate additionallayers. Using the methods and systems described herein, additionallayer(s) of processing elements including multiplication processingunits and the processing elements 525 may be optimized to determine thecenter vectors C_(i) and the connection weights W_(ij) of each layer ofprocessing elements including multiplication units.

The self-interference noise calculator 500 can be implemented using oneor more processors, for example, having any number of cores. An exampleprocessor core can include an arithmetic logic unit (ALU), a bitmanipulation unit, a multiplication unit, an accumulation unit, an adderunit, a look-up table unit, a memory look-up unit, or any combinationthereof. In some examples, the self-interference noise calculator 240may include circuitry, including custom circuitry, and/or firmware forperforming functions described herein. For example, circuitry caninclude multiplication unit, accumulation units, and/or bit manipulationunits for performing the described functions, as described herein. Theself-interference noise calculator 240 may be implemented in any type ofprocessor architecture including but not limited to a microprocessor ora digital signal processor (DSP), or any combination thereof.

FIG. 6 is a schematic illustration 600 of an electronic device 610arranged in accordance with examples described herein. The electronicdevice 610 includes antennas 101, 103, 105, 107; wireless transmitters111, 113; wireless receivers 115, 117; and compensation components 245,247, which may operate in a similar fashion as described with referenceto FIG. 2. The electronic device 610 also includes the self-interferencenoise calculator 640 and training unit 650 that may provide samplevectors 660 to the self-interference noise calculator 640. Theself-interference noise calculator 500 may be utilized to implement theself-interference noise calculator 640, for example. The training unitmay determine center vectors C_(i) and the connection weights W_(ij),for example, by optimizing the minimized error of adjusted signals(e.g., adjusted signals 530 y_(i)(n) of FIG. 5). For example, anoptimization problem can be solved utilizing a gradient descentprocedure that computes the error, such that the minimized error may beexpressed as:

E=Σ _(n=1) ^(M) ∥Y(n)−

∥²  (5)

Y(n) may be a corresponding desired output vector. To solve thisminimization problem, the training unit 650 may utilize sample vectorsto determine the center vectors C_(i) and the connection weights W_(ij).

To determine the center vectors C_(i), the training unit 650 may performa cluster analysis (e.g., a k-means cluster algorithm) to determine atleast one center vector among a corresponding set of vectors, such assample vectors 660 based on training points or random vectors. In thesample vector approach, a training point may be selected towards thecenter for each of the sample vectors 660. The training point may becenter of each cluster partition of a set of the sample vectors 660,such that optimizing the cluster center is expressed as minimized erroraway from the cluster center for a given training point in the clusterpartition. Such a relationship may be expressed as:

E _(k) _(_) _(means)=Σ_(j=1) ^(H)Σ_(n=1) ^(M) B _(jn) ∥X(n)−C_(j)∥²  (6)

where B_(jn) is the cluster partition or membership function forming anH×M matrix. Each column of H×M matrix represents an available samplevector and each row of H×M matrix represents a cluster. Each column mayinclude a single “1” in the row corresponding to the cluster nearest tothat training point and zeroes in the other entries of that column. Thetraining unit 650 may initialize the center of each cluster to adifferent randomly chosen training point. Then each training example isassigned by the training unit 650 to a processing element (e.g., aprocessing element 525) nearest to it. When all training points havebeen assigned by the training unit 650, the training unit 650 finds theaverage position of the training point for each cluster and moves thecluster center to that point, when the error away from the clustercenter for each training point is minimized, denoting the set of centervectors C_(i) for the processing elements (e.g., the processing elements525).

To determine the connection weights W_(ij) for the connections betweenprocessing elements 525 and processing elements 535, the training unit650 may utilize a linear least-squares optimization according to aminimization of the weights expressed as:

$\begin{matrix}{\left. {\min\limits_{W}\mspace{14mu} \Sigma_{n = 1}^{M}}||{{Y(n)} -} \right.||^{2} = {\min\limits_{W}\mspace{14mu} \left. ||{{WF} - \hat{Y}} \right.||^{2}}} & (7)\end{matrix}$

where W={W_(ij)}) is the L×H matrix of the connection weights, F is anH×M matrix comprising the outputs h_(i)(n) of the processing elements525, expressed in Equation 3. Y(n) may be a corresponding desired outputmatrix, with an L×M size. Accordingly, in matrix algebra form,connection weight matrix W may be expressed as

W=ŶF ⁺ =Ŷlim _(+→0) F ^(T)(FF ^(T) +αI)⁻¹  (8)

where F⁺ is the pseudo-inverse of F.

In some examples, for example in the context of self-interferencecalculator 500 implemented as self-interference noise calculator 640, todetermine the connection weights W_(ij) for the connections betweenprocessing elements 525 and processing elements 535, a training unit 650may utilize a batch-processing embodiment where sample sets are readilyavailable (e.g., available to be retrieved from a memory). The trainingunit 650 may randomly initialize the connection weights in theconnection weight matrix W. The output vector Y(n) may be computed inaccordance with Equation 4. An error term e_(i)(n) may be computed foreach processing element 525, which may be expressed as:

e _(i)(n)=y _(i)(n)−ŷ _(i)(n)(i=1,2, . . . ,L)  (9)

where ŷ_(i)(n) is a corresponding desired output vector. The connectionweights may be adjusted in the batch-processing embodiment in accordancewith a machine learning expression where a γ is the learning-rateparameter which could be fixed or time-varying. In the example, themachine learning expression may be:

W _(ij)(n+1)=W _(ij)(n)+γe _(i)(n)f _(j)(∥X(n)−C _(i)∥)(i=1,2, . . .,L;j=1,2, . . . ,M)  (10)

Such a process may iterate until passing a specified error threshold. Inthe example, the total error may be expressed as:

ϵ=∥Y(n)−

∥²

Accordingly, the training unit 650 may iterate recursively the processdescribed herein until the error ϵ passes the specified error threshold,such as passing below the specified error threshold.

In some examples, when the training unit 650 is determining the centervectors C_(i) that are a non-linear set of vectors fitting a Gaussianfunction, a scaling factor σ may be required before determination of theconnection weights W_(ij) for the connections between processingelements 525 and processing elements 535 of a self-interferencecalculator 500 implemented as self-interference calculator 640. In aGaussian function example, a convex hull of the vectors C_(i) may berequired such that the training points allow a smooth fit for the outputof the processing elements 525. Accordingly, each center vector C_(i)may be related to another center vector C_(i) of the processing elements525, such that each center vector C_(i) activates another center vectorC_(i) when computing the connection weights. A scaling factor may bebased on heuristic that computes the P-nearest neighbor, such that:

$\sigma_{i} = \left. {\frac{1}{P}\Sigma_{j = 1}^{P}}||{C_{j} - C_{i}}||{}_{2}\mspace{14mu} \left( {{i = 1},2,{\ldots \mspace{14mu} \ldots},H} \right) \right.$

where C_(j) (for i=1, 2, . . . , H) are the P-nearest neighbors ofC_(i).

FIG. 7 is a schematic illustration of a full duplex compensation method700 in accordance with examples described herein. Example method 700 maybe implemented using, for example, electronic device 102, 110 of FIG. 1,electronic device 110 in FIG. 2, electronic device 610, or any system orcombination of the systems depicted in FIGS. 1-2 or 6 described herein.The operations described in blocks 708-728 may also be stored ascomputer-executable instructions in a computer-readable medium.

Example method 700 may begin with block 708 that starts execution of theself-interference compensation method and recites “determine vectors forself-interference noise calculator.” In the example, the center vectorsmay be determined according a cluster analysis. For example, an errormay be minimized such that the distance from the cluster center to agiven training point is minimized. Block 708 may be followed by block712 that recites “generate connection weights for self-interferencenoise calculator.” In the example, the connection weights may bedetermined according to a linear least-squares optimization or a batchprocessing embodiment as described herein. Block 712 may be followed byblock 716 that recites “receive signal for transmission atself-interference noise calculator.” Transmitter output data x₁(n),x₂(n), x₃(n), x_(N)(n) 510 may be received as input to aself-interference noise calculator. In the example, transmitter outputmay be a stream of transmission data from a corresponding transmitterthat is performing RF operations on corresponding signals to betransmitted.

Block 716 may be followed by block 720 that recites “combine signals inaccordance with vectors and connection weights to generate adjustmentsignals based on self-interference noise.” For example, various ALUs,such as multiplication units, in an integrated circuit may be configuredto operate as the circuitry of FIG. 5, thereby combining the transmitteroutput data x₁(n), x₂(n), x₃(n), x_(N)(n) 510 to generate adjustedsignals y₁(n), y₂(n), y₃(n), y_(L)(n) 530 as described herein. Block 720may be followed by a decision block 724 that recites “adjust signalsreceived at respective antennas with adjustment signals based onself-interference noise.” In the example, compensation components 245,247 may receive the adjusted signals y₁(n), y₂(n) 241, 243 andcompensate an incoming received wireless transmission from antennas 105,107. In the example, the compensation components 245, 247 may subtractthe adjusted signals y₁(n), y₂(n) 241, 243 from the received wirelesstransmission to produce compensated received signals for the respectivewireless receivers 115, 117, thereby achieving full duplex compensationmode. Block 724 may be followed by block 728 that ends the examplemethod 700.

In some examples, the blocks 708 and 712 may be an optional block. Forexample, determination of the center vectors and the connection weightsmay occur during a training mode of an electronic device describedherein, while the remaining steps of method 700 may occur during anoperation mode of the electronic devices described herein.

The blocks included in the described example method 700 is forillustration purposes. In some embodiments, these blocks may beperformed in a different order. In some other embodiments, variousblocks may be eliminated. In still other embodiments, various blocks maybe divided into additional blocks, supplemented with other blocks, orcombined together into fewer blocks. Other variations of these specificblocks are contemplated, including changes in the order of the blocks,changes in the content of the blocks being split or combined into otherblocks, etc.

From the foregoing it will be appreciated that, although specificembodiments of the present disclosure have been described herein forpurposes of illustration, various modifications may be made withoutdeviating from the spirit and scope of the present disclosure.

What is claimed is:
 1. An apparatus comprising: a plurality of wirelesstransceivers, each wireless transceiver configured to provide arespective signal of a plurality of signals to a respective antenna of aplurality of antennas; and a self-interference noise calculator coupledto the plurality of wireless transceivers, the self-interference noisecalculator configured to generate a plurality of adjusted signals, theself-interference noise calculator comprising: a network of processingelements configured to combine the plurality of signals into a pluralityof sets of intermediate results, each signal received from a respectivewireless transceiver of the plurality of wireless transceivers, whereinthe network of processing elements further configured to sum each set ofintermediate results to generate a corresponding adjusted signal of theplurality of adjusted signals.
 2. The apparatus of claim 1, wherein theself-interference noise calculator is configured to generate theplurality of adjusted signals based on a respective self-interferencestatistic of a plurality of self-interference statistics.
 3. Theapparatus of claim 1, further comprising: a plurality of compensationcomponents, each compensation component coupled to a respective wirelesstransceiver and configured to generate a respective compensated signalbased on the plurality of adjusted signals.
 4. The apparatus of claim 3,wherein the self-interference noise calculator is configured to providea respective adjustment signal to a respective compensation component.5. The apparatus of claim 3, wherein each compensation componentconfigured to subtract a respective adjusted signal from a respectiveradio frequency (RF) signal to generate the respective compensatedsignal.
 6. The apparatus of claim 3, wherein each wireless transceiverof the plurality of wireless transceivers is configured to receive therespective compensated signal and to generate a respective processedsignal based on the respective compensated signal.
 7. The apparatus ofclaim 6, wherein each wireless transceiver comprises: a radio configuredto down-convert the respective compensated signal to a respectivebaseband signal; an analog-to-digital converter configured to convertthe respective baseband signal to a respective digital baseband signal;and a fast Fourier transform component configured to convert therespective digital baseband signal to the respective processed signal.8. The apparatus of claim 1, wherein each respective signal comprises asignal representative of interference to a different antenna than therespective antenna that was provided the respective signal by therespective wireless transceiver.
 9. The apparatus of claim 1, whereineach wireless transceiver of the plurality of wireless transmitters isconfigured to generate the respective signal based on a respectivesignal to be transmitted, wherein each wireless transmitter comprises:an inverse fast Fourier transform component configured to convert therespective signal to be transmitted to a respective frequency-domainsignal; an analog-to-digital converter configured to convert therespective frequency-domain signal to a respective analog basebandsignal; and a radio configured to up-convert the respective analogbaseband signal to the respective signal.
 10. The apparatus of claim 9,wherein each intermediate processing result is weighted according to arespective weight for the corresponding adjusted signal, the respectiveweight based on an amount of interference to the respective signal fromthe corresponding intermediate processing result.
 11. The apparatus ofclaim 1, wherein each wireless transceiver is configured to receive thecorresponding adjusted signal.
 12. An apparatus comprising: a pluralityof antennas, each antenna configured to transmit a respective wirelesscommunications signal; a self-interference noise calculator coupled toeach antenna of the plurality of antennas, the self-interference noisecalculator comprising: a plurality of multiplication processing units,each multiplication processing unit configured to generate a pluralityof noise processing results based on the respective wirelesscommunications signal; a plurality of accumulation processing units,each accumulation processing unit configured to generate a respectiveadjustment signal of a plurality of adjustment signals based on at leastone noise processing result of the plurality of noise processingresults; and a plurality of weighted connections, each weightedconnection configured to couple one of the multiplication processingunits to one of the accumulation processing units.
 13. The apparatus ofclaim 12, wherein each weighted connection comprises a respective weightfor the weighted connection.
 14. The apparatus of claim 12, wherein eachmultiplication processing unit comprises a vector representative ofself-interference at an antenna of the plurality of antennas from atleast one other antenna of the plurality of antennas.
 15. A methodcomprising: receiving a plurality of signals to be transmitted at aself-interference noise calculator; processing the plurality of signalsto be transmitted in accordance with a plurality of vectors and aplurality of connection weights to generate adjustment signals based onat least self-interference noise of a corresponding path to a firstantenna of a plurality of antennas from at least a second antenna of theplurality of antennas; adjusting a plurality of signals received atrespective antennas of the plurality of antennas with a correspondingadjustment signal.
 16. The method of claim 15, further comprising:transmitting the plurality of signals to be transmitted at a firstfrequency band of a plurality of frequency bands; and simultaneously,receiving the plurality of signals received at the respective antennas.17. The method of claim 15, further comprising: determining theplurality of vectors for the self-interference noise calculator, eachvector representative of self-interference of a corresponding path tothe first antenna from at least the second antenna; and generating theplurality of connection weights for a corresponding connection of theself-interference noise calculator.
 18. The method of claim 17, whereindetermining the plurality of vectors for the self-interference noisecalculator comprises: selecting a set of vectors from a vector set basedon at least one of a Gaussian function, a multi-quadratic function, aninverse multi-quadratic function, a thin-plate spine function, apiece-wise linear function, or a cubic approximation function.
 19. Themethod of claim 17, wherein determining the plurality of vectors for theself-interference noise calculator comprises: determining a set ofsample vectors; assigning a respective set of training points to eachsample vector; and minimizing error of the plurality of adjustmentsignals based on a computation of each sample vector with the respectiveset of training points to determine the plurality of vectors.
 20. Themethod of claim 17, wherein generating the plurality of connectionweights for the corresponding connection of the self-interference noisecalculator comprises: randomly selecting a plurality of connectionweights; recursively, minimizing an error of the plurality of adjustmentsignals based on a summation of the plurality of connection weights.